This disclosure relates to the fields of computer systems and data processing. More particularly, a system, method, and apparatus are provided for efficiently propagating a status or feature among related events in an online application or service.
Professional and social networks, as well as other online applications and services, encompass many users or members and host myriad events every day. Typically, each event is stored as a discrete record, entry or other data construct. However, in reality, many events may be related. For example, an initial event such as a user post, the sharing of an article, a job posting, or some other action will be followed by activity such as likes, shares/re-shares, comments, and so on.
A problem arises if one event within a group of related events is assigned a particular status or feature and there is a need or desire to propagate that status or feature to some or all related events. For example, if a shared article or a post is deemed to be spam, the application or service may understandably wish to prevent that content item from being displayed to (and thereby annoying) its users. By the same token, it may also be desirable to prevent related comments, shares, and/or other events from being displayed.
In a traditional environment, finding events related to a given event may require extensive searching through many, many records, and may significantly affect other processing and data operations. In a distributed data storage environment, for example, each separate storage node, system, cluster or other entity may undergo extensive processing to identify all related events.
In addition, some online applications and services treat spam and low-quality content (such as memes, math or word puzzles, etc.) in the same manner, by completely suppressing them to prevent their distribution. However, some content that may be considered low-quality may be of interest to some users of the site, and preventing its distribution may deprive those users of some enjoyment.